Adam Richardson's Site

Ubuntu Notes

Table of Contents

<2023-01-27 Fri>

Ubuntu System Setup

Packages

Updated for 20.04

sudo apt install \
     xubuntu-desktop \
     mg \
     git \
     build-essential \
     stow \
     pass \
     pass-extension-otp \
     autoconf \
     texinfo \
     libjansson-dev \
     libncurses-dev \
     imagemagick \
     htop \
     ncdu \
     fonts-hack-ttf \
     libgtk-3-dev \
     libxpm-dev \
     libjpeg-dev \
     libtiff-dev \
     libgif-dev \
     libssl-dev \
     libgccjit-9-dev \
     git-gui \
     mosh \
     pkg-config \
     libmagickwand-dev \
     gnuplot \
     info \
     sbcl \
     graphviz \
     fzf \
     mpv \
     vlc \
     curl \
     gimp \
     default-jre \
     libgnutls28-dev \
     gnutls-bin \
     clang \
     clangd \
     cmake \
     ninja-build \
     python3-pip \
     python-is-python3

Building Emacs

  • clone emacs from savannah git clone -b master git://git.sv.gnu.org/emacs.git
  • Releases are usually in a branch with the version number, for example emacs-28
  • Run the ./autogen.sh to build the configure script
  • The below command shows the configure flags I like for Emacs
./configure --with-native-compilation \
            --with-json \
            --with-rsvg \
            --with-imagemagick
  • This will warn you about any missing dependencies, from there you should obtain them for your OS
  • Build emacs with make -j <NUMBER_OF_CPU_CORES+1>
  • Run make install with appropriate permissions to install the new version on the system
  • Use M-x emacs-version RET to see the current version info, including the build date